#ifndef _HCC_ERROR_CODE_DRV_PER_IC_CARD_H_
#define _HCC_ERROR_CODE_DRV_PER_IC_CARD_H_

#include "ofc_types.h"
#include "hcc_error_code.h"
#include "hcc_error_code_drv.h"

#ifdef __cplusplus
extern "C" {
#endif

// 不含行号的错误码生成
#define HCC_MAKE_DRV_PER_IC_CARD_ERROR(error_code) (int)HCC_MAKE_DRIVER_ERROR(kHccDrvPerIcCard, error_code, HCC_ERROR_LEVEL_ERROR)
// 含行号的错误码生成
#define HCC_MAKE_DRV_PER_IC_CARD_ERROR_LINE(error_code) (int)HCC_ERROR(HCC_MAKE_DRIVER_ERROR(kHccDrvPerIcCard, error_code, HCC_ERROR_LEVEL_ERROR))


/**
 * 外设IcCard模块:外设IcCard模块
 */
enum THccDrvPerIcCardTag
{
	kHccDrvPerIcCardSuccess	=	HCC_ERROR_SUCCESS,			///< 成功,没有错误
	kHccDrvPerIcCardCallBack	=	HCC_MAKE_DRV_PER_IC_CARD_ERROR(0),			///<回调函数未设置
	kHccDrvPerIcCardParam	=	HCC_MAKE_DRV_PER_IC_CARD_ERROR(1),			///<参数错误
	kHccDrvPerIcCardComm	=	HCC_MAKE_DRV_PER_IC_CARD_ERROR(2),			///<通讯错误
	kHccDrvPerIcCardProtected	=	HCC_MAKE_DRV_PER_IC_CARD_ERROR(3),			///<区域受保护的
	kHccDrvPerIcCardPsc	=	HCC_MAKE_DRV_PER_IC_CARD_ERROR(4),			///<密码错误
	kHccDrvPerIcCardMaxPsc	=	HCC_MAKE_DRV_PER_IC_CARD_ERROR(5),			///<密码错误次数超过最大限制
};
typedef enum THccDrvPerIcCardTag THccDrvPerIcCard;


typedef Int32 THccDrvPerIcCardLine;
#define kHccDrvPerIcCardSuccessLine	HCC_ERROR_SUCCESS	///< 成功,没有错误
#define kHccDrvPerIcCardCallBackLine	HCC_MAKE_DRV_PER_IC_CARD_ERROR_LINE(0)	///<回调函数未设置
#define kHccDrvPerIcCardParamLine	HCC_MAKE_DRV_PER_IC_CARD_ERROR_LINE(1)	///<参数错误
#define kHccDrvPerIcCardCommLine	HCC_MAKE_DRV_PER_IC_CARD_ERROR_LINE(2)	///<通讯错误
#define kHccDrvPerIcCardProtectedLine	HCC_MAKE_DRV_PER_IC_CARD_ERROR_LINE(3)	///<区域受保护的
#define kHccDrvPerIcCardPscLine	HCC_MAKE_DRV_PER_IC_CARD_ERROR_LINE(4)	///<密码错误
#define kHccDrvPerIcCardMaxPscLine	HCC_MAKE_DRV_PER_IC_CARD_ERROR_LINE(5)	///<密码错误次数超过最大限制

//旧版本适配补丁
typedef THccDrvPerIcCard TPerIcCardErrorCode;

#define kPerIcCardErrorCodeSuccess kHccDrvPerIcCardSuccess
#define kPerIcCardErrorCodeCallBack kHccDrvPerIcCardCallBack
#define kPerIcCardErrorCodeParam kHccDrvPerIcCardParam
#define kPerIcCardErrorCodeComm kHccDrvPerIcCardComm
#define kPerIcCardErrorCodeProtected kHccDrvPerIcCardProtected
#define kPerIcCardErrorCodePsc kHccDrvPerIcCardPsc
#define kPerIcCardErrorCodeMaxPsc kHccDrvPerIcCardMaxPsc

#ifdef __cplusplus
}  // extern "C"
#endif

#endif // _HCC_ERROR_CODE_DRV_PER_IC_CARD_H_
/**
 * @
 */
